#include "nf_module.h"

/****************************
 * 功能：射频设置关断模式
 *       nf:射频模块句柄
 *       nf_config:配置参数       
****************************/
void NF_Set_Shutdown_Model(nf_t *nf,nf_config_t nf_config)
{
	nf->drive.set_Shutdown_model(nf);
}

/****************************
 * 功能：射频设置发送模式
 *       nf:射频模块句柄
 *       nf_config:配置参数       
****************************/
void NF_Set_TX_Model(nf_t *nf,nf_config_t nf_config)
{
	nf->nf_config.rf_ch=nf_config.rf_ch;
	nf->nf_config.rf_dr=nf_config.rf_dr;
	nf->nf_config.rf_pwr=nf_config.rf_pwr;
	nf->nf_config.crc_config.crco=nf_config.crc_config.crco;
	nf->nf_config.crc_config.en_crc=nf_config.crc_config.en_crc;
	mymemcpy((uint8_t*)&nf->nf_config,(uint8_t *)&nf_config,sizeof(nf_config));
    nf->drive.set_tx_model(nf);
}
/*****************************
 * 功能：射频设置接收模式
 * 参数：
 *       nf：射频句柄
 *       nf_config:配置参数
 * **************************/
void NF_Set_RX_Model(nf_t *nf,nf_config_t nf_config)
{
	mymemcpy((uint8_t*)&nf->nf_config,(uint8_t *)&nf_config,sizeof(nf_config));
	nf->drive.set_rx_model(nf);
}
/**********************************
 * 功能：发送数据
 * 参数：
 *       nf:射频设备句柄
 *       *txbuf:发送数据的指针
 *       *len：发送数据长度
 * 返回：无
 * *******************************/
void NF_Send_Data(nf_t *nf,void *txbuf,uint8_t len)
{
	nf->drive.tx_Packet(nf,txbuf,len);
}
/************************************
 * 功能：接收数据
 * 参数
************************************/
uint8_t NF_RX_Data(nf_t *nf,void *rxbuf,uint8_t len)
{
	return nf->drive.rx_Packet(nf,rxbuf,len);
}
/************************************
 *功能：NF模块中断处理函数
************************************/
void NF_IRQ(nf_t *nf)
{
	nf->drive.irq(nf);
}

